package com.lyf.scm.common.enums;

import java.util.ArrayList;
import java.util.List;

/**
 * 需求计划相关es属性及查询枚举值
 *
 * @author wangchlei
 * @date 2020/10/28
 */
public enum RequirementPlanEnum {
    /**
     * 分组名称——渠道分组名称
     */
    GROUP_CHANNEL("group_channel", "渠道分组名称"),
    /**
     * 分组名称——区域分组名称
     */
    GROUP_AREA("group_area", "区域分组名称"),
    /**
     * 分组名称——仓库分组名称
     */
    GROUP_WAREHOUSE("group_warehouse", "仓库分组名称"),
    /**
     * 分组名称——sku分组名称
     */
    GROUP_SKU("group_sku", "sku分组名称"),
    /**
     * 分组名称——日期分组名称
     */
    GROUP_DATE("group_date", "日期分组名称"),
    /**
     * 分组名称——计划类型分组名称
     */
    GROUP_PLAN_TYPE("group_plan_type", "计划类型分组名称"),
    /**
     * 分组求和——预测计划量
     */
    GROUP_PREDICT_SALES("group_predict_sales", "预测计划量分组"),
    /**
     * 分组求和——本次供应链确认量
     */
    GROUP_REQUIRE_CONFIRM_QTY("group_require_confirm_qty", "本次供应链确认量分组"),
    /**
     * 分组求和——上次供应链确认量
     */
    GROUP_LAST_REQUIRE_CONFIRM_QTY("group_last_require_confirm_qty", "上次供应链确认量分组"),
    /**
     * 分组求和——本次销售计划确认量
     */
    GROUP_SALE_PLAN_CONFIRM("group_sale_plan_confirm", "本次销售计划确认量"),
    /**
     * 分组求和——上次销售计划确认量
     */
    GROUP_LAST_SALE_PLAN_CONFIRM("group_last_sale_plan_confirm", "上次销售计划确认量"),
    /**
     * 分组求和——安全库存量
     */
    GROUP_SAFETY_STOCK("group_safety_stock", "安全库存量"),
    /**
     * 分组求和——期末库存
     */
    GROUP_SALE_INVENTORY("group_sale_inventory", "期末库存"),

    /**
     * 大数据es属性——渠道code
     */
    CHANNEL("channel", "渠道code"),
    /**
     * 大数据es属性——省code
     */
    PROVINCE("province", "省code"),
    /**
     * 大数据es属性——市code
     */
    CITY("city", "市code"),
    /**
     * 大数据es属性——区code
     */
    DISTRICT("district", "区code"),
    /**
     * 大数据es属性——门店code
     */
    NODE_ID("node_id", "门店code"),
    DELIVER_ID("deliver_id", "仓库code"),
    /**
     * 大数据es属性——大品类code
     */
    CATE_L1("cate_l1", "食品"),
    /**
     * 大数据es属性——中品类code
     */
    CATE_L2("cate_l2", "大品类code"),
    /**
     * 大数据es属性——小品类code
     */
    CATE_L3("cate_l3", "中品类code"),
    /**
     * 大数据es属性——小品类code
     */
    CATE_L4("cate_l4", "小品类code"),
    /**
     * 大数据es属性——skucode
     */
    SKU_KEY("sku_key", "skucode"),
    /**
     * 大数据es属性——date
     */
    DATE("date", "date"),
    /**
     * 大数据es属性--周预测值
     */
    SALES_WEEK_F_1("sales_week_f_1", "周预测值"),
    SALES_WEEK_F_2("sales_week_f_2", "周预测值"),
    SALES_WEEK_F_3("sales_week_f_3", "周预测值"),
    SALES_WEEK_F_4("sales_week_f_4", "周预测值"),
    SALES_WEEK_F_5("sales_week_f_5", "周预测值"),
    SALES_WEEK_F_6("sales_week_f_6", "周预测值"),
    SALES_WEEK_F_7("sales_week_f_7", "周预测值"),
    SALES_WEEK_F_8("sales_week_f_8", "周预测值"),
    SALES_WEEK_F_9("sales_week_f_9", "周预测值"),
    SALES_WEEK_F_10("sales_week_f_10", "周预测值"),
    SALES_WEEK_F_11("sales_week_f_11", "周预测值"),
    SALES_WEEK_F_12("sales_week_f_12", "周预测值"),
    SALES_WEEK_F_13("sales_week_f_13", "周预测值"),
    /**
     * 分组
     */
    SALES_WEEK_F_1_GROUP("sales_week_f_1_group", "周预测值"),
    SALES_WEEK_F_2_GROUP("sales_week_f_2_group", "周预测值"),
    SALES_WEEK_F_3_GROUP("sales_week_f_3_group", "周预测值"),
    SALES_WEEK_F_4_GROUP("sales_week_f_4_group", "周预测值"),
    SALES_WEEK_F_5_GROUP("sales_week_f_5_group", "周预测值"),
    SALES_WEEK_F_6_GROUP("sales_week_f_6_group", "周预测值"),
    SALES_WEEK_F_7_GROUP("sales_week_f_7_group", "周预测值"),
    SALES_WEEK_F_8_GROUP("sales_week_f_8_group", "周预测值"),
    SALES_WEEK_F_9_GROUP("sales_week_f_9_group", "周预测值"),
    SALES_WEEK_F_10_GROUP("sales_week_f_10_group", "周预测值"),
    SALES_WEEK_F_11_GROUP("sales_week_f_11_group", "周预测值"),
    SALES_WEEK_F_12_GROUP("sales_week_f_12_group", "周预测值"),
    SALES_WEEK_F_13_GROUP("sales_week_f_13_group", "周预测值"),
    /**
     * 本地es属性——日期
     */
    FORMULATE_DATE("start_date", "日期"),
    PLAN_TYPE("plan_type", "计划类型"),
    /**
     * 本地es属性——预测计划量
     */
    PLAN_SALE_AMOUNT("plan_sale_amount", "销售计划金额"),
    PREDICT_SALE_AMOUNT("predict_sale_amount", "预测计划金额"),
    PLAN_SALES("plan_sales", "销售计划量"),
    PREDICT_SALES("predict_sales", "预测计划量"),
    SAFETY_STOCK("ss", "安全库存量"),
    REQUIRE_CONFIRM_QTY("require_confirm_qty", "本次供应链确认量"),
    CONFIRM_L4("confirm_l4", "本次销售计划确认量"),
    LAST_REQUIRE_CONFIRM_QTY("last_require_confirm_qty", "上次供应链确认量"),
    LAST_CONFIRM_L4("last_confirm_l4", "上次销售计划确认量"),
    RESERVE_PURCHASE_QTY("reservePurchaseQty", " 预约在途采购量 "),
    ACTUAL_SALES("actual_sales", " 实际销量 "),
    NO_FULFIL_PURCHASE_QTY("noFulfilPurchaseQty", "未履约采购量");


    private String type;
    private String desc;

    RequirementPlanEnum(String type, String desc) {
        this.type = type;
        this.desc = desc;
    }

    public static List<RequirementPlanEnum> getLables() {
        List<RequirementPlanEnum> labels = new ArrayList<>();
//        labels.add(PLAN_SALE_AMOUNT);
//        labels.add(PREDICT_SALE_AMOUNT);
        labels.add(PLAN_SALES);
        labels.add(PREDICT_SALES);
        labels.add(SAFETY_STOCK);
        labels.add(REQUIRE_CONFIRM_QTY);
        labels.add(CONFIRM_L4);
        labels.add(LAST_REQUIRE_CONFIRM_QTY);
        labels.add(LAST_CONFIRM_L4);
        labels.add(RESERVE_PURCHASE_QTY);
        labels.add(ACTUAL_SALES);
        labels.add(NO_FULFIL_PURCHASE_QTY);
        return labels;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }
}
